package com.rw.engine.sign.anno;

import com.rw.engine.sign.aspect.DefaultSignRule;
import com.rw.engine.sign.aspect.SignRule;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 签名校验器
 * 这个校验器可以自动校验签名
 * 实现方式和其他校验器有所不同，因为签名校验器涉及到参数的读取
 * 所以设计为AOP才是最合适的，在这里就没有继承 @CommonLimit
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SignLimit {
    /**
     * IP过滤规则器
     */
    Class<? extends SignRule>[] signFilterRule() default DefaultSignRule.class;
}
